A Concurrent Bidirectional Linear Probing Algorithm Towards a Concurrent Compact Hash Table

نویسنده

  • Steven van der Vegt
چکیده

Hash tables are commonly used data structures for representing subsets of a large key universe. In these tables, the complete key is stored in order to resolve the item in case of a collision. Since the 1980’s, there are known techniques to reduce the used memory by only storing a part of the original key. However, there are no known concurrent implementations of these so-called compact hash tables. Nowadays, the way to obtain the most performance gain, is to utilize the multiple CPU cores many machines are equipped with. This paper describes the parallelization of the bidirectional linear probing algorithm developed by Amble & Knuth, with a minimal memory overhead. We proved correct and implemented the algorithm and show, with results from experiments, that it scales well.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Hopscotch Hashing

We present a new resizable sequential and concurrent hash map algorithm directed at both uniprocessor and multicore machines. The algorithm is based on a novel hopscotch multi-phased probing and displacement technique that has the flavors of chaining, cuckoo hashing, and linear probing, all put together, yet avoids the limitations and overheads of these former approaches. The resulting algorith...

متن کامل

Cache-Aware Lock-Free Concurrent Hash Tries

This report describes an implementation of a non-blocking concurrent shared-memory hash trie based on single-word compare-andswap instructions. Insert, lookup and remove operations modifying different parts of the hash trie can be run independent of each other and do not contend. Remove operations ensure that the unneeded memory is freed and that the trie is kept compact. A pseudocode for these...

متن کامل

Simple Fast Parallel Hashing by Oblivious Execution

A hash table is a representation of a set in a linear size data structure that supports constant-time membership queries. We show how to construct a hash table for any given set of n keys in O(lg lg n) parallel time with high probability, using n processors on a weak version of a concurrent-read concurrent-write parallel random access machine (crcw pram). Our algorithm uses a novel approach of ...

متن کامل

Resizable, Scalable, Concurrent Hash Tables via Relativistic Programming

We present algorithms for shrinking and expanding a hash table while allowing concurrent, wait-free, linearly scalable lookups. These resize algorithms allow ReadCopy Update (RCU) hash tables to maintain constanttime performance as the number of entries grows, and reclaim memory as the number of entries decreases, without delaying or disrupting readers. We call the resulting data structure a re...

متن کامل

Resizable, Scalable, Concurrent Hash Tables

We present algorithms for shrinking and expanding a hash table while allowing concurrent, wait-free, linearly scalable lookups. These resize algorithms allow the hash table to maintain constant-time performance as the number of entries grows, and reclaim memory as the number of entries decreases, without delaying or disrupting readers. We implemented our algorithms in the Linux kernel, to test ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011